#pragma once
#include "filter.h"
#include <list>

class StreamInput :
	public Filter
{
public:
	StreamInput(int outputsCount = 1, bool looping = false);
	virtual ~StreamInput(void);

	void PushData(const cv::Mat &data, int channel = 0);
	void Process();


private:
	bool looping;
	bool initialized;

	typedef std::list<cv::Mat> MatricesList;
	MatricesList *channels;

	typedef MatricesList::iterator MatrixIterator;
	MatrixIterator *iterators;

};

